home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / By the Book / Learn C++ (CodeWarrior) / Chap 06.01 - derived / derived.cp < prev    next >
Text File  |  1995-10-20  |  1KB  |  74 lines

  1. #include <iostream.h>
  2.  
  3.  
  4. //---------------------------------------  Base
  5.  
  6. class Base
  7. {
  8. //            Data members...
  9.     private:
  10.         short    baseMember;
  11.  
  12. //            Member functions...
  13.     protected:
  14.         void    SetBaseMember( short baseValue );
  15.         short    GetBaseMember();
  16. };
  17.  
  18. void    Base::SetBaseMember( short baseValue )
  19. {
  20.     baseMember = baseValue;
  21. }
  22.  
  23. short    Base::GetBaseMember()
  24. {
  25.     return baseMember;
  26. }
  27.  
  28.  
  29. //---------------------------------------  Base:Derived
  30.  
  31. class Derived : public Base
  32. {
  33. //            Data members...
  34.     private:
  35.         short    derivedMember;
  36.  
  37. //            Member functions...
  38.     public:
  39.         void    SetMembers( short baseValue, 
  40.                             short derivedValue );
  41.         void    PrintDataMembers();
  42. };
  43.  
  44. void    Derived::SetMembers( short baseValue, 
  45.                             short derivedValue )
  46. {
  47.     derivedMember = derivedValue;
  48.     SetBaseMember( baseValue );
  49. }
  50.  
  51. void    Derived::PrintDataMembers()
  52. {
  53.     cout << "baseMember was set to "
  54.         << GetBaseMember() << '\n';
  55.         
  56.     cout << "derivedMember was set to "
  57.         << derivedMember << '\n';
  58. }
  59.  
  60.  
  61. //---------------------------------------  main()
  62.  
  63. int    main()
  64. {
  65.     Derived        *derivedPtr;
  66.     
  67.     derivedPtr = new Derived;
  68.     
  69.     derivedPtr->SetMembers( 10, 20 );
  70.     
  71.     derivedPtr->PrintDataMembers();
  72.     
  73.     return 0;
  74. }